import UIKit

//
@available(iOS 8.0, *)
extension QKC where AA :UIImageAsset {
		// Images returned hold a strong reference to the asset that created them
    @available(iOS 13.0, *)
    open func image_qk_f(with configuration: UIImage.Configuration) -> QKC<AA,YY,ZZ,UIImage >{
		 self +^ self.value.image(with:configuration)
	}

    @available(iOS 13.0, *)
    open func register_qk_f(_ image: UIImage, with configuration: UIImage.Configuration) -> QKC<AA,YY,ZZ, UIImage>{
		 self +^ self.value.register(image, with:configuration) +^ image
	}

		// removes only those images added with registerImage:withConfiguration:
    @available(iOS 13.0, *)
    open func unregisterImage_qk_f(with configuration: UIImage.Configuration) -> QKC<AA,YY,ZZ, UIImage.Configuration>{
		 self +^ self.value.unregisterImage(with:configuration) +^ configuration
	}

		// Images returned hold a strong reference to the asset that created them
    open func image_qk_f(with traitCollection: UITraitCollection) -> QKC<AA,YY,ZZ,UIImage >{
		return self +^ self.value.image(with:traitCollection)
	}

		// Adds a new v-a-r-iation to this image asset that is appropriate for the provided traits. Any traits not exposed by asset catalogs (such as forceTouchCapability) are ignored.
    open func register_qk_f(_ image: UIImage, with traitCollection: UITraitCollection) -> QKC<AA,YY,ZZ, UIImage>{
		 self +^ self.value.register(image, with:traitCollection) +^ image
	}

		// removes only those images added with registerImage:withTraitCollection:
    open func unregister_qk_f(imageWith traitCollection: UITraitCollection) -> QKC<AA,YY,ZZ, UITraitCollection>{
		 self +^ self.value.unregister(imageWith:traitCollection) +^ traitCollection
	}

}

